package cn.edu.hunau.java.week01.day03;

import org.junit.Test;

import java.util.Arrays;
import java.util.Random;

public class RadomArrayTest {

    @Test
    public void test01(){
        int count=0;
        while(count<10){
            int [] data= randomArray(6,33);
            System.out.println(Arrays.toString(data));
            count++;
        }
    }
public int [] randomArray(int length,int bound) {
    int[] result = new int[length];
    //声明一个标记数组标记数据是否存在
    //随机范围[1,33]那么如果数据为33,flags[33],需要设置为true
    boolean[] flags =new boolean[bound+1];
    Random r = new Random();
    for (int i = 0; i < length; i++) {
        int temp = r.nextInt(bound) + 1;
        //判断temp是否已经被标记
        if(flags[temp]){//如果为true，表示该数据已经存在
                i--;//重新对i进行计算
                System.out.println("发现重复数据");
        }else{
            result[i]=temp;
            //标记该数据的存在
            flags[temp]=true;
            }
        }
    return result;
   }
}
